home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 June
/
EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso
/
earcd
/
editor
/
blksedtr.lha
/
BED
/
Rexx
/
SASC
/
FetchRefs.bed
< prev
next >
Wrap
Text File
|
1996-05-06
|
2KB
|
69 lines
/*
** $VER: FetchRefs.bed 1.0 (18.04.96)
**
** FetchRefs - By Gerbert Nuijen
**
** An ARexx script to invoke FetchRefs from BED. It will get the current word
** under the cursor and will send an request to FetchRefs to get all possible
** references. It will automatically open an window with possible refs on the
** BED screen.
**
*/
/* Set some options of ARexx */
OPTIONS RESULTS
OPTIONS FAILAT 21
/* Get the current word under the cursor */
GetWord
function = RESULT
IF word="" THEN DO
BeepScreen
SetStatusBar "Cursor not on a word!"
RETURN
END
/* Define a temporary filename to put the reference into */
cutat = VERIFY(function, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_")
filename = 'T:FR_' || LEFT(function, MAX(0, cutat - 1))
/* It doesn't matter whether we want a taglist, varargs or whatever function */
IF RIGHT(function, 7) = "TagList" THEN
function = LEFT(function, LENGTH(function) - 7)
ELSE IF RIGHT(function, 4) = "Tags" THEN
function = LEFT(function, LENGTH(function) - 4)
ELSE IF RIGHT(function, 1) = "A" THEN
function = LEFT(function, LENGTH(function) - 1)
/* Get the reference */
address 'FETCHREFS' FR_GET function || '(%|Tags|TagList|A)' filename FILEREF
/* Load the file */
IF rc ~= 0 THEN DO
/*
Maybe search with FindSymbol.bed for more references ??
*/
BeepScreen
SetStatusBar RC2
/* Return */
EXIT 0
END
ELSE DO
/* Print the reference */
'OpenDoc SETTINGS=BED:Support/SAS_C.prf DEFINITIONS=BED:Support/SAS_C.dfn' filename
ADDRESS VALUE RESULT
Move RC2
ScrollView 2
/* Delete the temporary file */
ADDRESS COMMAND 'C:Delete >NIL:' filename
/* Return */
EXIT 0
END